<?xml version="1.0" encoding="utf-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:com="http://java.sun.com/jsf/composite/componentes"
	xmlns:f="http://java.sun.com/jsf/core">
<ui:composition>

	<h:outputScript library="js" name="locale-primefaces.js" />

	<p:dialog id="modalCadastro" widgetVar="modalCadastro" modal="true"
		header="#{appMessages['amostras.cadastrar.titulo']}" dynamic="true"
		width="950" resizable="false">

		<h:form id="cadastroPontoColeta"
			rendered="#{!amostrasBean.existePontoColetaCadastrado()}">
			<h:outputText
				value="#{appMessages['amostras.cadastrar.naoExistePontoColeta']} "
				escape="false" />
			<h:link value="#{messages['link.cadastrarPontoColeta']}"
				outcome="/pontos-coleta" />
		</h:form>

		<h:form id="cadastroCondicaoClimatica"
			rendered="#{!amostrasBean.existeCondicaoClimaticaCadastrada()}">
			<h:outputText
				value="#{appMessages['amostras.cadastrar.naoExisteCondicaoClimatica']} "
				escape="false" />
			<h:link value="#{messages['link.cadastrarCondicaoClimatica']}"
				outcome="/condicoes-climaticas" />
		</h:form>

		<h:form id="formAmostra" rendered="#{amostrasBean.existePontoColetaCadastrado() and amostrasBean.existeCondicaoClimaticaCadastrada()}">
			<p:messages globalOnly="true" />

			<h:panelGrid columns="3">
				<p:tabView style="width: 450px;" id="tabAmostra">
					<p:tab id="abaDescricao" title="Descrição da amostra">
						<com:formInput id="bacia"
							label="#{appMessages['amostras.baciaHidrografica']}">
							<p:selectOneMenu id="input"
								label="#{appMessages['amostras.baciaHidrografica']}"
								value="#{amostrasBean.baciaHidrografica}" required="true">
								<f:selectItem itemLabel="#{messages['form.selecione']}"
									noSelectionOption="true" />
								<f:selectItems value="#{amostrasBean.baciasHidrograficas}"
									var="baciaHidrografica" itemLabel="#{baciaHidrografica.nome}"
									itemValue="#{baciaHidrografica}" />
								<p:ajax event="change" process="@this"
									update=":formAmostra:tabAmostra:cidade :formAmostra:tabAmostra:pontoColeta"
									listener="#{amostrasBean.mudarBaciaHidrografica()}" />
							</p:selectOneMenu>
						</com:formInput>

						<com:formInput id="cidade"
							label="#{appMessages['amostras.cidade']}">
							<p:selectOneMenu id="input"
								label="#{appMessages['amostras.cidade']}"
								value="#{amostrasBean.cidade}" required="true"
								converter="br.senai.sc.hidroData.CidadeConverter"
								disabled="#{amostrasBean.baciaHidrografica == null}">
								<f:selectItem itemLabel="#{messages['form.selecione']}"
									noSelectionOption="true" />
								<f:selectItems value="#{amostrasBean.cidades}" var="cidade"
									itemLabel="#{cidade.nome}" itemValue="#{cidade}" />
								<p:ajax event="change" process="@this"
									update=":formAmostra:tabAmostra:pontoColeta"
									listener="#{amostrasBean.mudarCidade()}" />
							</p:selectOneMenu>
						</com:formInput>

						<com:formInput id="pontoColeta"
							label="#{appMessages['amostras.pontoColeta']}">
							<p:selectOneMenu id="input"
								label="#{appMessages['amostras.pontoColeta']}"
								value="#{amostrasBean.amostra.pontoColeta}" required="true"
								disabled="#{amostrasBean.cidade == null}">
								<f:selectItem itemLabel="#{messages['form.selecione']}"
									noSelectionOption="true" />
								<f:selectItems value="#{amostrasBean.pontosColeta}"
									var="pontoColeta" itemLabel="#{pontoColeta.nome}"
									itemValue="#{pontoColeta}" />
							</p:selectOneMenu>
						</com:formInput>

						<com:formInput id="condicaoClimatica"
							label="#{appMessages['amostras.condicaoClimatica']}">
							<p:selectOneMenu id="input"
								label="#{appMessages['amostras.condicaoClimatica']}"
								value="#{amostrasBean.amostra.condicaoClimatica}"
								required="true">
								<f:selectItem itemLabel="#{messages['form.selecione']}"
									noSelectionOption="true" />
								<f:selectItems value="#{amostrasBean.condicoesClimaticas}"
									var="condicaoClimatica" itemLabel="#{condicaoClimatica.nome}"
									itemValue="#{condicaoClimatica}" />
							</p:selectOneMenu>
						</com:formInput>

						<com:formInput id="data" label="#{appMessages['amostras.data']}">
							<p:calendar id="input" label="#{appMessages['amostras.data']}"
								value="#{amostrasBean.amostra.data}" required="true"
								maxdate="#{amostrasBean.dataAtual}" size="10" locale="pt"
								pattern="dd/MM/yyyy" />
						</com:formInput>

						<com:formInput id="observacao"
							label="#{appMessages['amostras.observacao']}">
							<p:inputTextarea id="input"
								label="#{appMessages['amostras.observacao']}"
								value="#{amostrasBean.amostra.observacao}"
								style="width: 200px; height: 100px;" />
						</com:formInput>
					</p:tab>

					<p:tab id="abaDados"
						title="#{appMessages['amostras.cadastrar.dadosAmostra']}">
						<com:inputNumber id="coliformesFecais"
							label="#{appMessages['amostras.coliformesFecais']}"
							value="#{amostrasBean.amostra.coliformesFecais}"
							sign=" #{appMessages['amostras.coliformesFecais.unidade']}"
							signPosition="right" required="true" />

						<com:inputNumber id="dbo" label="#{appMessages['amostras.dbo']}"
							value="#{amostrasBean.amostra.dbo}"
							sign=" #{appMessages['amostras.dbo.unidade']}"
							signPosition="right" required="true" />

						<com:inputNumber id="fosforoTotal"
							label="#{appMessages['amostras.fosforoTotal']}"
							value="#{amostrasBean.amostra.pt}"
							sign=" #{appMessages['amostras.fosforoTotal.unidade']}"
							signPosition="right" required="true" />

						<com:inputNumber id="nitrogenioTotal"
							label="#{appMessages['amostras.nitrogenioTotal']}"
							value="#{amostrasBean.amostra.nt}"
							sign=" #{appMessages['amostras.nitrogenioTotal.unidade']}"
							signPosition="right" required="true" />

						<com:inputNumber id="oxigenioDissolvido"
							label="#{appMessages['amostras.oxigenioDissolvido']}"
							value="#{amostrasBean.amostra.od}"
							sign=" #{appMessages['amostras.oxigenioDissolvido.unidade']}"
							signPosition="right" required="true" />

						<com:inputNumber id="ph" label="#{appMessages['amostras.ph']}"
							value="#{amostrasBean.amostra.ph}"
							sign=" #{appMessages['amostras.ph.unidade']}"
							signPosition="right" required="true" />

						<com:inputNumber id="solidosTotais"
							label="#{appMessages['amostras.solidosTotais']}"
							value="#{amostrasBean.amostra.st}"
							sign=" #{appMessages['amostras.solidosTotais.unidade']}"
							signPosition="right" required="true" />

						<com:inputNumber id="temperatura"
							label="#{appMessages['amostras.temperatura']}"
							value="#{amostrasBean.amostra.temperatura}"
							sign=" #{appMessages['amostras.temperatura.unidade']}"
							signPosition="right" required="true" />

						<com:inputNumber id="turbidez"
							label="#{appMessages['amostras.turbidez']}"
							value="#{amostrasBean.amostra.turbidez}"
							sign=" #{appMessages['amostras.turbidez.unidade']}"
							signPosition="right" required="true" />
					</p:tab>
				</p:tabView>

				<p:barChart id="graficoNotas"
					value="#{amostrasBean.graficoNotasModel}"
					title="#{appMessages['amostras.notas']}"
					seriesColors="#{amostrasBean.coresGraficoNotas}" min="0" max="100"
					style="width: 350px; height: 300px;" widgetVar="graficoNotas"
					rendered="#{amostrasBean.amostra.idAmostra != null}" />

				<p:barChart id="graficoIQA" value="#{amostrasBean.graficoIQAModel}"
					title="#{appMessages['amostras.iqa']}"
					seriesColors="#{amostrasBean.coresGraficoIQA}" min="0" max="100"
					style="width: 100px; height: 300px;" widgetVar="graficoIQA"
					rendered="#{amostrasBean.amostra.idAmostra != null}" />
			</h:panelGrid>

			<p:toolbar>
				<p:toolbarGroup>
					<p:commandButton value="#{messages['form.salvar']}"
						update="@form :formAmostras:dtAmostras"
						action="#{amostrasBean.salvarAmostra()}" />
					<p:commandButton value="#{appMessages['amostras.cadastrar']}"
						update="@form" action="#{amostrasBean.cadastrarAmostra()}" />
					<p:commandButton value="#{messages['form.cancelar']}"
						process="@this" onclick="modalCadastro.hide();" />
				</p:toolbarGroup>
			</p:toolbar>
			
		</h:form>
	</p:dialog>
</ui:composition>
</html>